The present invention relates to techniques for coding moving picture data and transferring the coded data and, more particularly, to a transcoding method and apparatus for transforming coded data, which is generated by assuming a certain transmission rate, into coded data corresponding to a different transmission rate.
Generally, there have been proposed various kinds of dynamic image coding methods typified by MPEG2 (Moving Picture Experts Group 2) under ISO/IEC. Moreover, the transmission of coded data, which is obtained by employing these coding methods, to be performed by using various communication systems has come to be studied.
Meanwhile, coded data should be sometimes obtained through a plurality of networks that differ in transmission rate from one another. Such cases are, for example, a case where coded data is transmitted through both of a high-speed network (whose transmission rate: 10 to 100 Mbps), such as an intracompany LAN and an intranet, and a low-speed network, such as ISDN (Integrated Services Digital Network whose highest transmission rate: 128 kbps). In such a case, there is the necessity for causing a transcoding apparatus between the networks to convert coded data, which is obtained by assuming a transmission rate corresponding to the high-speed network, into coded data to be obtained by assuming a transmission rate corresponding to the low-speed network.
FIG. 10 is a block diagram schematically illustrating an example of the configuration of a related transcoding apparatus. It is assumed that the transcoding apparatus 50 receives first coded data obtained by performing a MPEG2 coding process (that is, variable length codes of quantized DCT (Discrete Cosine Transform) coefficients).
As illustrated in the figure, this transcoding apparatus 50 comprises a variable length decoder 51, an inverse quantizer 52, a quantizer 53, a variable length coder 54, and a quantizer scale controller 55. With such configuration, the transcoding apparatus 50 receives first coded data generated by assuming a transmission rate corresponding to the high-speed network and then converting this first coded data into second coded data corresponding to a transmission rate of the low-speed network.
That is, first, the first coded data received through the high-speed network is variable-length decoded by the first variable length decoder 51. Then, the decoded data is inverse-quantized by the inverse quantizer 52. Incidentally, a practical inverse quantization operation is performed by the inverse quantizer 52 as follows. The following equation is defined by ISO/IEC 13813-2, which is a standard for the generic coding of high-quality video signals, and is an arithmetic expression (incidentally, the following arithmetic expression is used for all coefficients except intra DC coefficients) for reproducing an inverse-quantized two dimensional coefficient matrix F″[v][u] from a quantized two-dimensional coefficient matrix QF [v][u] (incidentally, each of “v” and“u” is an integer ranging from 0 to 7).F″[v][u]=(2×QF[v][u]+k)×W[w][v][u]×Quantizer—scale)/32  Equation 1where   k  =      {                                                      0                                                                          Sign                ⁡                                  (                                                            QF                      ⁡                                              [                        v                        ]                                                              ⁡                                          [                      u                      ]                                                        )                                                                    ⁢                                                            in                ⁢                                                                  ⁢                tra                ⁢                                                                  ⁢                blocks                                                                                        non                ⁢                                                                  ⁢                                  -                                ⁢                in                ⁢                                                                  ⁢                tra                ⁢                                                                  ⁢                blocks                                                    ⁢                                  ⁢        Sign        ⁢                  (          x          )                    =              {                                            1                                                      x                >                0                                                                        0                                                      x                =                0                                                                                        -                1                                                                    x                <                0                                                        
In the aforementioned equation, W[w][v][u] is a weighted quantization matrix. “w” designates an integer, which ranges from 0 to 3 and indicates what matrix is selected from a plurality of kinds of matrices. “Quantizer—scale” denotes a factor that indicates a quantization rate of the inverse quantization and that is obtained by a table (that is, ISO/IEC 13818-2, Table 7-6) corresponding to the value of “Quantizer—scale—code”. “Quantizer—scale—code” is a 5-bit unsigned integer ranging from 1 to 31. In a decoder, a current “Quantizer—scale—code” (that is, a current Quantizer scale code) is used until another “Quantizer—scale—code” appears in a slice or a macroblock. The transcoding apparatus 50 performs quantization by varying this “Quantizer—scale”.
DCT coefficients obtained by the inverse quantization, in which the aforementioned operation is performed, are requantized by the quantizer 53, and then variable-length coded by a variable length coder 54. Subsequently, resultant codes are transmitted to the low-speed network as the second coded data. Incidentally, the quantizer 53 performs quantization on the data, outputted from the variable length decoder 51, by using the quantizer scale that is designated by the quantizer scale controller 55. This quantizer scale controller 55 is adapted to control the coarseness of the quantizer scale so that the second coded data transmitted from this transcoding apparatus 50 becomes coded data corresponding to the transmission rate of the low-speed network. Specifically, the quantizer scale controller 55 detects an amount of code stored in a buffer memory for storing, for example, the second coded data outputted from the variable length coder 54. Then, the quantizer scale controller 55 generates the quantizer scale, whose coarseness corresponds to this amount of code. That is, when the amount of code stored in the buffer memory is large, the quantizer scale controller 55 reduces the amount of code by generating the quantizer scale whose coarseness is large, whereas when the amount of code stored in the buffer memory is small, the portion 55 increases the amount of code by generating the quantizer scale whose coarseness is small (that is, the portion 55 suppresses the degradation in picture quality).
However, when the coarseness of the quantizer scale is designated depending only on the amount of code stored in the buffer memory, picture data representing a picture may be quantized at a coarse quantizer scale even though this picture plays an important part when a decoding operation is performed at the receiving side at which the second coded data is received. In such a case, the degradation not only in the picture quality of this picture but in that of an image to be restored according to this picture is caused. Thus, this related transcoding apparatus has a drawback in that the picture quality of a moving picture to be reproduced at the receiving side is extremely degraded. Thus, it is difficult for the related transcoding apparatus, which employs the aforementioned techniques, to efficiently perform quantization without degrading the picture quality of a moving picture.
In addition to the coding apparatus in which the coarseness of the quantization scale is designated depending on the amount of code stored in the buffer memory, there has been provided another transcoding apparatus adapted to perform the requantization by using a quantizer scale, which has a fixed value corresponding to a transmission rate needed at an output side. However, even in the case of this transcoding apparatus, it is difficult to efficiently perform the quantization without degrading the picture quality of a moving picture, similarly as in the case of the apparatus shown in FIG. 10.